YES 0.494
↳ HASKELL
↳ LR
((ap :: IO (b -> a) -> IO b -> IO a) :: IO (b -> a) -> IO b -> IO a) |
import qualified Maybe import qualified Prelude |
|||||
ap :: Monad b => b (a -> c) -> b a -> b c
|
|||||
liftM2 :: Monad a => (b -> c -> d) -> a b -> a c -> a d
|
import qualified Monad import qualified Prelude |
\x2→return (f x1 x2)
liftM20 f x1 x2 = return (f x1 x2)
\x1→m2 >>= liftM20 f x1
liftM21 m2 f x1 = m2 >>= liftM20 f x1
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
((ap :: IO (a -> b) -> IO a -> IO b) :: IO (a -> b) -> IO a -> IO b) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
ap :: Monad b => b (a -> c) -> b a -> b c
|
|||||
liftM2 :: Monad c => (a -> b -> d) -> c a -> c b -> c d
|
|||||
|
|||||
|
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
((ap :: IO (a -> b) -> IO a -> IO b) :: IO (a -> b) -> IO a -> IO b) |
import qualified Maybe import qualified Prelude |
|||||
ap :: Monad b => b (c -> a) -> b c -> b a
|
|||||
liftM2 :: Monad b => (a -> d -> c) -> b a -> b d -> b c
|
|||||
|
|||||
|
import qualified Monad import qualified Prelude |
undefined
| False
= undefined
undefined = undefined1
undefined0 True = undefined
undefined1 = undefined0 False
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
(ap :: IO (b -> a) -> IO b -> IO a) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
ap :: Monad a => a (c -> b) -> a c -> a b
|
|||||
liftM2 :: Monad d => (a -> b -> c) -> d a -> d b -> d c
|
|||||
|
|||||
|